:root { font-size: 14px; }
@media (min-width: 350px) { :root { font-size: 16px; } }
@media (min-width: 640px) { :root { font-size: 28px; } }
@media (min-width: 1440px) { :root { font-size: 1.25vw; } }

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

section {
    position: relative;
    z-index: 1;
    max-width: 19rem;
}

/* Logo */

.logo {
    opacity: 0;
    position: relative;
    margin-left: -3.5rem;
    margin-top: -8rem;
    margin-bottom: .75rem;
    font-size: 8px;
}

body.ready .logo {
    opacity: 1;
}

body:not(.iOS) #lines * {
    mix-blend-mode: lighten;
}

#fills * {
    opacity: 0;
    mix-blend-mode: lighten;
}

#line-i-1 {
    transform-origin: 30em 8em;
}

/* Fireworks */

.fireworks {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
